/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.ages.entity

import com.ages.math.Vector
import com.ages.math.Vector3D
import javax.media.opengl.GL
import java.lang.Comparable

abstract class Actor() extends Ordered[Actor]{
  protected var depth = 0
  protected var pos:Vector = Vector3D(0,0,0)
  protected var vel:Vector = Vector3D(0,0,0)
  protected var markForDeletion = false
  def markedForDeletion:Boolean = markForDeletion
  def getPos = pos
  def draw(gl:GL):Unit
  def think():Unit
  def collidesWith(other:Actor):Boolean = false
  def handleCollision(other:Actor){}
  def compare(other:Actor):Int = this.depth-other.depth
  def getDepth = depth
}
